package com.taotao.rop.database.mapper;

import java.util.List;

public interface BaseDao<T> {
    /**
     * 获取符合条件的数据总个数
     * @param object 查询条件
     * @return 总个数
     */
    Long getCount(T object);

    /**
     * 按页查询获取数据列表（展示数据列表）
     * @param object 查询条件
     * @return 数据列表
     */
    List<T> getListByPage(T object);

    /**
     * 获取符合条件的对象，根据条件不同，结果可以是一个或多个
     * @param object 查询条件
     * @return 符合条件的对象
     */
    List<T> getList(T object);

    /**
     * 插入一条记录
     * @param object 要插入的记录
     * @return 受影响的行数
     */
    Integer insertOne(T object);

    /**
     * 更新一条记录
     * @param object 要更新的记录
     * @return 受影响的行数
     */
    Integer updateOne(T object);
}
